--- id: TASK-001 title: Distribution & packaging status: "\U0001F7E2 In progress" assignee: - '@humdrum-tiv' created_date: '2026-06-16 18:03' updated_date: '2026-06-18 01:17' labels: - feature dependencies: [] priority: high ordinal: 1000 --- ## Description Ship pts as an installable binary. GoReleaser config, Homebrew tap, 'go install' support, --version flag, GitHub Actions release on tag, cross-compile (darwin/linux, arm64/amd64). ## Acceptance Criteria - [ ] #1 go install works - [ ] #2 brew install from tap works - [ ] #3 tagged release publishes binaries ## Implementation Plan Plan (Homebrew via GoReleaser + GH Actions auto-tap; owner humdrum-tiv; binary+formula 'sportsball'; module renamed to github.com/humdrum-tiv/sportsball). ## Implementation Notes Prep done (in-repo, no GitHub actions yet): - Renamed module github.com/kortum/pts-tui -> github.com/humdrum-tiv/sportsball (16 files); suite green. - Added --version (main.go var version=dev + flag) — verified ldflags injection prints 'sportsball '. - Added LICENSE (MIT), user-facing README.md. - Makefile now version-stamps via git describe ldflags; .gitignore covers /sportsball and /dist. - .goreleaser.yaml (darwin/linux x amd64/arm64, archives, checksums, brews->humdrum-tiv/homebrew-tap). - .github/workflows/release.yml (tag v* -> goreleaser) + ci.yml (vet+test). - Validated: all 4 targets cross-compile (CGO off); YAML parses. Remaining (needs GitHub auth, not yet done): - Create public repos humdrum-tiv/sportsball + humdrum-tiv/homebrew-tap; set origin (replaces soft:pts-tui alias); push master. - Add HOMEBREW_TAP_TOKEN PAT secret (write to homebrew-tap) on the sportsball repo. - Tag v0.1.0 -> verify brew install humdrum-tiv/tap/sportsball, go install, brew test. - Optional: run 'goreleaser check' / 'goreleaser release --snapshot --clean' locally to validate before tagging.